\documentclass[a4paper]{article}

%%%%% Paquetes

\usepackage[spanish]{babel} 
\usepackage[utf8]{inputenc}
\usepackage{makeidx} %Indice
\usepackage{amsmath} %Ecuaciones sin numero al costado
\usepackage{graphicx} %Imagenes
\usepackage{fancyhdr} %Para encabezado y pie de pagina
\usepackage{float}
\usepackage[top=3cm, bottom=3cm, left=2.5cm, right=2.5cm]{geometry} 
\usepackage[hidelinks]{hyperref} %Para url y links
\hypersetup{colorlinks=false}

\usepackage{longtable} %Para tablas que ocupan mas de una hoja

% Para las notas al pie dentro de tablas o tabulaciones
\usepackage{tablefootnote}

%%%%% Paquetes

\begin{document}

\pagenumbering{gobble} %No numerar la primer pagina

\begin{titlepage}
	\centering
	\includegraphics{images/logo_fiuba.png}\par\vspace{1cm}
	{\scshape\LARGE Facultad de Ingeniería \par
	Universidad de Buenos Aires  \par}
	\vspace{1.5cm}
	{\Large\bfseries Propuesta de Trabajo Profesional\par}
	\vspace{0.5cm}
	{\huge\bfseries Sistema de Gestión Universitaria Web Basada En Microservicios  \par}
	\vspace{6.5cm}
	\begin{flushleft}
	\Large\itshape{Bruno Liberini - 90899}\\
	\vspace{0.5cm}
	\Large{Tutor: XXXX} \par
	\end{flushleft}
	\vfill
% Bottom of the page
	{\large Febrero 2020 \par}
\end{titlepage}

  \newpage
  
  \pagenumbering{arabic} %Comenzar a numerar las paginas

  \tableofcontents % Indice
    
%%%% Cabecera y pie de pagina
  \pagestyle{fancy}
  \lhead{Bruno Liberini - Padrón 90899}
  \rhead{}
  \renewcommand{\headrulewidth}{0.4pt} % grosor de la línea de la cabecera
%%%% Cabecera y pie de pagina

  \newpage
  
  \section{Introducción}
  
  El siguiente documento presenta la propuesta del Trabajo Profesional de Ingeniería en Informática del alumno Bruno Liberini, padrón 90899. El docente que estará a cargo como tutor del trabajo profesional será XXXX. \newline
  
  El tema elegido para el trabajo profesional es \textit{“Sistema de Gestión Universitaria Web Basada En Microservicios”}. \newline
  
  El objetivo principal del trabajo es aplicar los conocimientos adquiridos durante la carrera a fin de desarrollar una plataforma de gestión académica universitaria disponible a través de clientes web basada en una arquitectura de microservicios. Como objetivo secundario se plantea el diseño de este sistema de forma que sea fácilmente escalable, responda en contextos de alta demanda y cuyo despliegue y actualización sean fácilmente automatizables. \newline
  
  El trabajo requerirá la aplicación de conocimientos sobre tecnologías web y cloud, patrones de arquitectura de alta disponibilidad y escalabilidad, virtualización a nivel sistema operativo, administración de herramientas de integración continua y despliegue continuo, calidad en el desarrollo de software (para el control de calidad durante el desarrollo del trabajo) y administración y gestión de proyectos informáticos (para la administración del desarrollo del trabajo) \newline
  
  \subsection{Motivación}
  
  Los alumnos de la mayoría de las universidades argentinas utilizan un sistema de gestión académica llamado SIU-Guaraní, desarrollado por SIU\footnote{Sistema de Información Universitaria: \url{https://www.siu.edu.ar/}}. Esta empresa es parte del Consejo Interuniversitario Nacional \cite{SIU_QUIENES}, que reemplazó al Consorcio de Universidades Nacionales en 2013. De este consorcio son miembros la gran mayoría de las universidades públicas nacionales y sus distintas facultades, y en cada una de ellas se utiliza este sistema para su alumnado. A través de este, los alumnos gestionan trámites universitarios de forma online, incluidos \cite{SIU_PRESTACIONES}:
  
  \begin{itemize}
  	\item Consulta de oferta académica
  	\item Consulta de evaluaciones parciales
  	\item Inscripciones a cursadas
  	\item Inscripciones a mesas de examen
  	\item Consultas de historial académico
  	\item Consultas de prioridad
  	\item Consultas de regularidad
  	\item Seguimiento de plan de estudios
  	\item Seguimiento de estado de título
  	\item Pedido de certificados
  	\item Consulta de vigencia de certificados
  	\item Registro de datos censales
  \end{itemize}

  Las características que se buscaron con este sistema fueron la confiabilidad (consistencia de datos y su respaldo), calidad y disponibilidad (evitar redundancia de datos y obtener trazabilidad), flexibilidad y evolución, privacidad de los datos y auditoría de operatorias.\newline
  
  Sin embargo, con el correr de los años este sistema ha presentado fallas. En primer lugar, su interfaz web ha quedado anticuada para los estándares actuales. Por un lado, su diseño es notoriamente viejo.
  
  \begin{figure}[h!]
  	\centering
  	\includegraphics[scale=0.4]{images/siu_guarani_landing.png}
  	\caption{Página Inicio de SIU Guaraní de FIUBA}
  \end{figure}
  
  Por otra parte, la página no cumple con algunas de las buenas prácticas del diseño web:
  
  \begin{itemize}
  	\item El sitio no es \textit{mobile-friendly}. El diseño no es \textit{responsive} ni acata los principios de diseño \textit{responsive} \cite{RESPONSIVE_DESIGN}, y las dimensiones de las páginas no se adaptan al tamaño del dispositivo que el usuario utiliza para acceder a ella.
	  	\begin{figure}[h!]
	  		\centering
	  		\includegraphics[scale=0.6]{images/siu_guarani_mobile.png}
	  		\caption{SIU Guaraní visto en dispositivo mobile. Nótese el tamaño de los elementos}
	  	\end{figure}
  	\item En algunas secciones ir hacia atrás en la navegación resulta en la pérdida de información cargada anteriormente. Por ejemplo, en \textit{Consulta de Oferta Académica}, si un usuario carga el listado de oferta académica y luego hace click en una de las materias, si navega hacia atrás intentando volver al listado de materias este acusa que no hay materias para mostrar. El estado del listado no debería depender del orden de navegación.
  	\item La URL de la página no cambia al acceder a diferentes secciones. Esto causa problemas de navegación. Por ejemplo, si un usuario se encuentra en la sección \textit{Consulta de Prioridad} y refresca la página para ver si ya fue cargada, el navegador lo redirecciona a la página de inicio y no a la de \textit{Consulta de Prioridad} con la última información.
  \end{itemize}
  
  En segundo lugar, es común que en periodos de alta demanda (como fechas de inscripción a cursadas) el sistema falle o no esté disponible. Estos problemas no sólo suceden en el sistema implementado en esta facultad sino que son propios en los distintos centros educativos donde se utiliza \cite{SIU_PROBLEMAS_2014} \cite{SIU_PROBLEMAS_2017}. Los problemas son más comunes en los periodos de inscripción a cursadas, en especial a principios de año (correspondientes al primer cuatrimestre, o a las materias de dictado anual en las facultades que las empleen). En una de las oportunidades en que el sistema de inscripciones falló durante la semana de inscripción a cursadas fue en el segundo cuatrimestre de 2018, que dio lugar a una revisión por parte del Departamento de Computación de FIUBA \cite{SIU_FIUBA_REVISION}. Esta revisión encontró los siguientes problemas con la instalación de SIU Guaraní en FIUBA:
  
  \begin{itemize}
  	\item Cableado incorrecto y falta de seguridad en las instalaciones del datacenter.
  	\item Hardware y software atrasado e inclusive obsoleto: uso de versiones de IIS, Windows Server e Informix deprecadas por fabricantes y sin soporte.
  	\item Archivos de log con información insuficiente, e incluso aquellos que mostraban errores no eran atendidos.
  	\item Falta de coordinación entre distintas áreas de trabajo-
  	\item Falta de sistemas de monitoreo de salud del servicio.
  	\item Hardware de almacenamiento viejo o dañado.
  	\item Falta de pruebas de carga y estrés sobre entornos productivos.
  	\item Falta de política de respaldo de código fuente y repositorio.
  	\item Falta de licencias apropiadas para servidores Windows y VMWare.
  \end{itemize}
  
  Nuevamente comienzos de 2020 la Facultad de Ingeniería de la UBA tuvo que reprogramar las fechas de inscripciones \cite{SIU_FIUBA_PROBLEMAS} debido a problemas con los servidores de SIU Guaraní.\newline
  
  Los problemas generados por retrasos o falta de disponibilidad a la hora de anotarse en el sistema son varios:
  
  \begin{itemize}
  	\item \textit{Necesidad de implementar procesos de emergencia manuales para poder llevar a cabo las inscripciones}. Dependiendo de cómo se implemente este proceso puede ser menos confiable que SIU Guaraní en lo que se refiere a pérdida de datos, aunque dependerá de su implementación. Es muy probable, sin embargo, que pueda dificultar el proceso de inscripción para alumnos que no puedan cumplir con los requisitos para este nuevo proceso (como puede ser presentarse personalmente en alguna sede de su facultad para realizar el trámite); también es inevitable que se haga el proceso más lento y genere demoras para los alumnos que no necesariamente puedan soportar (por ejemplo, si sólo pueden presentarse en horario laboral y no cuentan con tanto tiempo libre para realizar estos trámites).
  	\item \textit{Perjuicio económico para la facultad}. Debido al tiempo y esfuerzo empleados por el personal asignado al proceso alternativo de inscripción en vez de a sus tareas regulares. De la misma forma, en el caso en que la facultad cuente con otro sistema de respaldo, el costo devenido en ponerlo en línea.
  	\item \textit{Necesidad de retrasar el periodo de inscripciones}. El problema principal detrás de este es que mueve el calendario académico el tiempo que sea necesario retrasar las inscripciones, principalmente las fechas de inicio de clase. Si las autoridades deciden sacrificar días de clase en vez de mover todo el calendario académico (de ser posible por reglamentos) esto trae perjuicios no sólo a los alumnos, que deberán aprender los contenidos de cada materia en un periodo de tiempo más corto, sino también a los profesores que deberán replanificar sus clases, resumir contenidos o eliminarlos para cumplir con el resto de las fechas del calendario.
  \end{itemize}  
  
    
  \section{Alcance}
  
  El alcance del trabajo contempla los siguientes puntos.
  
  \begin{enumerate}
  	\item Uno
  	\item Dos
  \end{enumerate}
  
  \section{Características del trabajo}

  \subsection{Tema uno}
  
  Característica Uno
  
  \subsection{Tema dos}
  
  Característica dos
  
  \section{Tecnologías y Herramientas}
  
  \subsection{Tecnología Uno}
  
  Descripción tecnología uno
   
  \subsection{Lenguaje de programación: X}
  
  X
  
  \subsection{Librería: Y}
  
 Y
  
  \subsection{Herramientas}
  
  \begin{table}[htbp]
  	\begin{center}
  		\begin{tabular}{|l|l|}
  			\hline
  			\textbf{Categoría}				 			& 		\textbf{Herramientas} \\
  			\hline
  			Lenguaje de Programación					&		Node.js \\
  														&		Python \\
  														&		JavaScript \\
			\hline
			Base de datos								&		DynamoDB \\ 
			\hline
			Servicios Cloud								&		Amazon Web Services \\ 
  			\hline
  			Entorno de Desarrollo			 			&		Visual Studio Code \\ 
  														&		Jupyter Notebook \\
  			\hline
  			Control de Versiones						& 		Git \\ 
  			\hline
  			Administración y Control del Proyecto		& 		Google Docs \\
  														& 		Asana \\
  			\hline
  			Elaboración de Documentos					& 		LaTex \\
  														& 		Jupyter Notebook \\
  			\hline
  			Librerías Principales						& 		ExpressJS \\
  														& 		React \\
  														& 		Papermill \\
  														& 		node-wit \\
  														& 		node-telegram-bot-api \\
  			\hline
  		\end{tabular}
  	\end{center}
  \end{table}

  \newpage
  
  \section{Plan de trabajo}
  
  \subsection{Equipo de trabajo}
  
  \begin{itemize}
  	\item Tutor: XXXX
  	\item Estudiante: Bruno Liberini
  \end{itemize}
  
  \subsection{Metodología}
  
  Para el desarrollo de este trabajo se seguirá una adaptación de la metodología SCRUM \cite{SCRUM}. Se definirán iteraciones cuyas fechas se determinarán luego de las reuniones con el tutor, y al final de las cuales se hará entrega de un \textit{feature} del proyecto. \\
  
  Al iniciar cada iteración, se priorizarán los requerimientos con el tutor, se establecerán fechas parciales de entrega si así fuera necesario y finalmente se realizará una reunión al final de la iteración a fin de presentar el entregable desarrollado en ella (\textit{demo}). 
  
  \subsection{Estimaciones}
  
  Se realizó la estimación de las tareas en conjunto con el tutor. Todas las estimaciones están expresadas en horas reloj.
  
  \begin{longtable}{| c | l | c |}
  	\hline
  	\textbf{Iteración}	& 	\textbf{Descripción}												& 	\textbf{Estimación (h)} \\
  	\hline \hline
  	\endfirsthead
  	
  	\hline
  	\textbf{Iteración}	& 	\textbf{Descripción}												& 	\textbf{Estimación (h)} \\
  	\hline \hline
  	\endhead
  	
  	\endfoot
  	
  	\endlastfoot
  	
  	-					&	Propuesta de Trabajo Profesional 										&	45\\
  	\hline
    1					&	Configuración de entorno local 										&	  10\\
    1					&	Configuración de servicios en AWS 									&	  12\\
    1					&	Configuración de app en Wit.ai 										&	  12\\
    1					&	Configuración de bot en Telegram 									&	  9\\
    3					&	Diseño de base de datos 										&	  9\\
    3					&	Carga de datos mockup 										        &	  9\\
    \hline
    2					&	Diseño de entidades y flujo de bot en Wit.ai 								&	  18\\
    2					&	Entrenamiento de bot en Wit.ai 										&	  36\\
    2					&	Desarrollo de tests de usabilidad de bot 								&	  12\\
    2					&	Documentación flujo de bot 										&	  6\\
    \hline
    3					&	Creación de API de autenticación 									&	  6\\
    3					&	Creación de API de datos de cursos 									&	  9\\
    3					&	Creación de API de datos de fechas de evaluaciones 							&	  6\\
    3					&	Creación de API de mesas de examen 									&	  6\\
    3					&	Documentación de API 										        &	  3\\
    3					&	Desarrollo de tests sobre API 										&	  6\\
    \hline
    4					&	Integración de chatbot con API para autenticación 							&	  3\\
    4					&	Integración de chatbot con API para datos de cursos 							&	  6\\
    4					&	Integración de chatbot API para datos de fechas de evaluación 						&	  3\\
    4					&	Integración de chatbot API para mesas de examen 							&	  3\\
    4					&	Desarrollo de tests sobre integración de chatbot con API 						&	  6\\
    \hline
    5					&	Diseño de UI/markup módulo cursos del backend 								&	  9\\
    5					&	Desarrollo de comportamiento del módulo cursos del backend				    &	  9\\
    5					&	Diseño de UI/markup módulo fechas de evaluación del backend 				&	  6\\
    5					&	Desarrollo de comportamiento del módulo fechas de evaluación del backend    &	  6\\
    5					&	Diseño de UI/markup módulo mesas de examen del backend 						&	  6\\
    5					&	Desarrollo de comportamiento del módulo mesas de examen del backend    		&	  6\\
    \hline
    6					&	Integración de backend con API autenticación 								&	  3\\
    6					&	Integración de backend con API para datos de cursos 							&	  6\\
    6					&	Integración de backend con API  para datos de fechas de evaluación 					&	  3\\
    6					&	Integración de backend con API para mesas de examen 							&	  3\\
    6					&	Desarrollo de tests sobre integración de backend con API 						&	  6\\
    \hline
    7					&	Creación de API para encuestas (carga de formulario y de respuestas) 					&	  12\\
    7					&	Diseño de módulo de carga de formulario de encuestas en el backend 						&	  12\\
    7					&	Integración de backend con API para carga de formularios de encuestas 					&	  6\\
    7					&	Desarrollo de tests sobre backend para carga de formularios de encuestas 				&	  3\\
    \hline
    8					&	Diseño flujo del bot para encuestas 									&        18\\
    8					&	Integración de chatbot con API para respuestas a encuestas 						&	  6\\
    8					&	Desarrollo de tests sobre integración entre chatbot y API para 			&	12\\
    					&	respuestas a encuestas 			&	  \\
    \hline
    9					&	Implementación de pipeline para procesamiento de encuestas 						&	  24\\
    9					&	Creación de API para descarga de informes de encuestas 							&	  12\\
    9					&	Integración entre API y chatbot para consulta de informes de encuestas 					&	  3\\
    9					&	Desarrollo de tests sobre API para consulta de informes de encuestas 					&	  3\\
    \hline
    10                   &   Desarrollo de módulo de notificaciones                                         &         18\\
    10                   &   Desarrollo de tests de módulo de notificaciones                                &         9\\
    10                   &   Integración entre módulo de notificaciones y chatbot                           &         6\\
    10                   &   Desarrollo de tests sobre integración entre chatbot y módulo  				   &         6\\
    					&   de notificaciones															   &  \\
    \hline
  	-					&	Reuniones															&	16\\
  	\hline
  	-					&	Informe y Presentación												&	20\\
  	\hline
  \end{longtable}

  Además, se debe tener en cuenta el tiempo dedicado a la administración del proyecto, que se estima en 10\% del tiempo total de desarrollo e investigación.
  
   
  \begin{table}[H]
  	\centering
  	\begin{tabular}{|l|c|}
  		\hline
  		\textbf{Descripción} 	& \textbf{Esfuerzo (h)}\\
  		\hline
  		Iteración 1 			& 61\\
  		\hline
  		Iteración 2 			& 72\\
  		\hline
  		Iteración 3 			& 36\\
  		\hline
  		Iteración 4 			& 21\\
  		\hline
  		Iteración 5 			& 42\\
  		\hline
  		Iteración 6 			& 21\\
  		\hline
  		Iteración 7 			& 33\\
  		\hline
  		Iteración 8 			& 36\\
  		\hline
  		Iteración 9 			& 42\\
  		\hline
  		Iteración 10 			& 39\\
  		\hline
  		\hline
  		Otros 					& 81\\
  		\hline
  		Administración 			& 48,4\\
  		\hline
  		\hline
  		\textbf{Esfuezo Total} 	& 532,4 \\
  		\hline
  	\end{tabular}
  \end{table}
  
  \newpage
  
  \subsection{Cronograma de entregables}
  
  A continuación se hace un cronograma tentativo de entregables al finalizar cada una de las iteraciones. Estos pueden ser modificados en caso de verse necesario por el tutor o el desarrollador del proyecto. Las fechas de cada una de las entregas serán coordinadas en conjunto con el tutor.
  
  \begin{table}[htbp]
  	\begin{center}
  		\begin{tabular}{|c|l|}
  			\hline
  			\textbf{Iteración}	 	& \textbf{Entregables}\\
  			\hline
  			1 						& $\bullet$ Esquema de base de datos \\
  									& $\bullet$ Set de datos de ejemplo \\
  			\hline
  			2						& $\bullet$ Documentación de flujo de trabajo del chatbot \\
  								    & $\bullet$ Reporte de tests de usabilidad del chatbot \\
		    \hline
		    3						& $\bullet$ Documentación de los servicios de la API \\
		   							& $\bullet$ Reporte de tests de los servicios de la API \\
            \hline
            4						& $\bullet$ Funciones del chatbot con datos mockup (menos encuestas) \\
            						& $\bullet$ Reporte de tests de integración chatbot-API \\
		    \hline
		    5						& $\bullet$ Página web del backend \\
		    \hline
		    6						& $\bullet$ Funciones de carga del backend (menos encuestas) \\
		    						& $\bullet$ Reporte de tests de integración backend-API \\		    
		    \hline
		    7						& $\bullet$ Funciones de carga de formularios de encuestas en backend \\
		    						& $\bullet$ Reporte de tests de carga de formularios de encuestas en backend \\
			\hline
			8						& $\bullet$ Función de respuestas a encuestas del chatbot \\
									& $\bullet$ Reporte de tests de carga de respuestas del chatbot\\	
			\hline
			9						& $\bullet$ Función de consulta de resultados de encuestas del chatbot \\
									& $\bullet$ Reporte de tests de consultas de resultados de encuestas del chatbot\\	
			\hline
			10						& $\bullet$ Función de notificaciones del chatbot \\
									& $\bullet$ Reporte de tests de notificaciones \\					    
		    \hline
		    - 						& $\bullet$ Informe final y conclusiones del Trabajo Profesional \\
		    \hline
  		\end{tabular}
  	\end{center}
  \end{table}  	
  
  \newpage
  \section{Referencias y material consultado}
  
  \renewcommand\refname{\small}
  
  \begin{thebibliography}{X}
  	
  \bibitem{SIU_QUIENES} SIU, \textit{¿Quiénes somos? (n.d.)}. Recuperado el 1 de Febrero de 2020 de: \url{https://www.siu.edu.ar/quienes-somos/}
  
  \bibitem{SIU_PRESTACIONES} SIU, \textit{Módulo de Gestión Académica. (n.d.)}. Recuperado el 1 de Febrero de 2020 de: \url{https://www.siu.edu.ar/siu-guarani/}
  
  \bibitem{RESPONSIVE_DESIGN} LePage, P. (n.d.). \textit{Responsive Web Design Basics}. Google Web Fundamentals. Recuperado el 1 de Febrero de 2020 de: \url{https://developers.google.com/web/fundamentals/design-and-ux/responsive}
  
  \bibitem{SIU_PROBLEMAS_2014} Fernández, M. (2014, Marzo 13). \textit{Quejas de los estudiantes por problemas para inscribirse}. La Voz Del Interior. Recuperado el 1 de Febrero de 2020 de: \url{https://www.lavoz.com.ar/educacion/quejas-de-los-estudiantes-por-problemas-para-inscribirse}
  
  \bibitem{SIU_PROBLEMAS_2017} \textit{SIU Guaraní, un problema que ni el informático Bullrich puede solucionar.} (2017, Marzo 1). Urgente24. Recuperado el 1 de Febrero de 2020 de: \url{https://archivo.urgente24.com/262412-siu-guarani-un-problema-que-ni-el-informatico-bullrich-puede-solucionar}
  
  \bibitem{SIU_FIUBA_REVISION} Roca, P., Mendez, M., Di Paoli, M., \& Veiga, A. (2018, Diciembre). \textit{Revisión de Estado y Asesoramiento Preventivo del Sistema de Inscripciones}. EXP-UBA: 60381/2018. RES: 2469/18. Departamento de Computación, FIUBA. Recuperado el 1 de Febrero de 2020 de: \url{https://drive.google.com/file/d/1nEFZGY868V5UCmpxox4Z_Xkhswxcw35f/view}
  
  \bibitem{SIU_FIUBA_PROBLEMAS} FIUBA [ingenieriauba]. (2020, Marzo 3). \textit{La Secretaría de Gestión Académica informa que ante los problemas presentados en el SIU Guaraní, se reprograman las inscripciones para la semana próxima, comenzando el lunes 9 de marzo a las 8.00.} [Tweet]. Recuperado el 4 de Marzo de 2020 de: \url{https://twitter.com/ingenieriauba/status/1234959838947479553}
  	
  \bibitem{FREQUENCY_TEACH_ONLINE} Mandernach, B. J., Dailey-Hebert, A., \& Donnelli-Sallee, E. (2007). Frequency and time investment of instructors' participation in threaded discussions in the online classroom. \textit{Journal of Interactive Online Learning}, 6(1), 1-9. Recuperado el 1 de Noviembre de 2019 de: \url{https://www.ncolr.org/jiol/issues/pdf/6.1.1.pdf}
  	
  \bibitem{CHATBOT_TYPES} Abdul-Kader, S. A., \& Woods, J. C. (2015). Survey on chatbot design techniques in speech conversation systems. \textit{International Journal of Advanced Computer Science and Applications, 6(7)}. Recuperado el 1 de Septiembre de 2019 de: \url{http://repository.essex.ac.uk/21238/1/Paper_12-Survey_on_Chatbot_Design_Techniques_in_Speech_Conversation_Systems.pdf}
  
  \bibitem{BOT_UX} Velloso, M. (2017, Diciembre). Principles of bot design, \textit{Microsoft Docs}. Recuperado el 1 de Septiembre de 2019 de: \url{https://docs.microsoft.com/en-us/azure/bot-service/bot-service-design-principles?view=azure-bot-service-4.0}
  
  \bibitem{NIELSEN} Nielsen, J. (1995). \textit{10 usability heuristics for user interface design}. Nielsen Norman Group, 1(1). Recuperado el 1 de Noviembre de 2019 de: \url{http://courses.ischool.utexas.edu/rbias/2014/Spring/INF385P/files/10%20Usability%20Heuristics%20for%20User%20Interface%20Design.docx}
  	
  \bibitem{SCOTT_BOT_HEURISTICS} Scott, K. \textit{Usability Heuristics For Bots}. Recuperado el 1 de Noviembre de 2019 de: \url{https://thekevinscott.com/usability-heuristics-for-bots/}.
  
  \bibitem{TACTICS} Bass, L., Clements, P., \& Kazman, R. (2012). Software Architecture in Practice (3rd ed.). \textit{Westford, Massachusetts: Pearson Education}.
  
  \bibitem{TACTICS_CLOUD} Gorton, I., \& Klein, J. (2014). Distribution, data, deployment: Software architecture convergence in big data systems. \textit{IEEE Software, 32(3), 78-85.} Recuperado el 1 de Septiembre de 2019 de: \url{http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.683.8785&rep=rep1&type=pdf}
 
  \bibitem{CLOUD} Josep, A. D., Katz, R., Konwinski, A., Gunho, L. E. E., PatterSon, D., \& Rabkin, A. (2010). "A view of cloud computing". \textit{Communications of the ACM, 53(4)}. Recuperado el 1 de Septiembre de 2019 de: \url{https://s3.amazonaws.com/academia.edu.documents/34578652/a_view_of_cc.pdf?response-content-disposition=inline%3B%20filename%3DA_View_of_Cloud_Computing_Clearing_the_c.pdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20190924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190924T030703Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=feb929e2aa9e5be511eaef21a88703c6991d2e7f25d7bd50405e7152d82456fc}
  	
  \bibitem{AWS_PRODUCTS} Amazon Web Services (2014). \textit{Productos de la nube}. Recuperado el 1 de Septiembre de 2019 de: \url{https://aws.amazon.com/es/products/}
  
  \bibitem{PAPERMILL} \textit{Papermill}. Recuperado el 1 de Noviembre de 2019 de: \url{https://github.com/nteract/papermill}
  
  \bibitem{PAPERMILL_NETFLIX} Netflix Technology Blog. (2018, Agosto 27). \textit{Part 2: Scheduling Notebooks at Netflix}. Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6}.
  
  \bibitem{TELEGRAM_BOTS} Telegram APIs. \textit{Bots: An introduction for developers.} (n.d.). Recuperado el 1 de Noviembre de 2019 de: \url{https://core.telegram.org/bots}.
  
  \bibitem{TELEGRAM_ENCRYPTION} Telegram APIs. \textit{End-to-End Encryption, Secret Chats}. Recuperado el 1 de Noviembre de 2019 de: \url{https://core.telegram.org/api/end-to-end}.
  
  \bibitem{WITAI} \textit{Wit.ai}. Recuperado el 1 de Noviembre de 2019 de: \url{https://wit.ai/}
  
  \bibitem{DUCKLING} Wit.ai Team. (2018, Marzo 15). \textit{Open Sourcing our new Duckling}.  Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/wit-ai/open-sourcing-our-new-duckling-47f44b776809}.
  
  \bibitem{BOTENGINE} Wit.ai Team. (2018, Marzo 15). \textit{Bot Engine}. Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/wit-ai/bot-engine-26af22d37fd6}.
  
  \bibitem{JUPYTER} \textit{Project Jupyter}. Recuperado el 1 de Noviembre de 2019 de: \url{https://jupyter.org/}
  
  \bibitem{JUPYTER_NATURE} Perkel, J. M. (2018, Octubre 30). \textit{Why Jupyter is data scientists' computational notebook of choice}. Recuperado el 1 de Noviembre de 2019 de: \url{https://www.nature.com/articles/d41586-018-07196-1}.
  
  \bibitem{SCRUM} \textit{SCRUM. Metodología de desarrollo de software, con ciclo de vida iterativo}. Recuperado el 1 de Julio de 2019 de: \url{http://scrummethodology.com/}
  
  \end{thebibliography}
  
  
\end{document}